11111

COURSE INTRODUCTION AND APPLICATION INFORMATION


se.cs.ieu.edu.tr

Course Name
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
Fall/Spring
Prerequisites
None
Course Language
Course Type
Elective
Course Level
-
Mode of Delivery -
Teaching Methods and Techniques of the Course Problem Solving
Course Coordinator -
Course Lecturer(s) -
Assistant(s) -
Course Objectives
Learning Outcomes The students who succeeded in this course;
  • Learn how to isolate the underlying structure of the problem to tackle it.
  • Analyze the time and space complexity of algorithms.
  • Have an increased number of solutions in their portfolio of algorithms to tackle an even more diverse set of problems.
  • Efficiently solve problems with greedy algorithms that can be modeled directly or through a sequence of transformations as instances of interval scheduling, interval partitioning, scheduling to minimize lateness, clustering, and minimum-cost arborescence problems.
  • Understand whether a problem can be solved with the help of a divide-and-conquer algorithm and efficiently solve problems that can be modeled directly or through a sequence of transformations as instances of inversion counting, closest pair of points and integer multiplication and use fast Fourier transformation for developing efficient algorithms.
  • Learn how to model dynamic programming solutions for weighted interval scheduling, segmented least squares and sequence alignment problems and capitalize upon this to generalize it.
  • Assess the trade-off between time and optimality and use approximation algorithms when the optimal is not feasible and distinguish those problems to which load balancing and set cover can be reduced They will use the approximation bounds obtained for load balancing and set cover for similar intractable problems where possible.
Course Description

 



Course Category

Core Courses
Major Area Courses
X
Supportive Courses
Media and Managment Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Required Materials
1 Introduction and motivation. Mathematical foundations, summation, recurrences and growth of functions Cormen Chapter 2, 3, and 4
2 Asymptotic notation and Master theorem Cormen Chapter 4
3 Binary heaps and analysis of heapsort Cormen Chapter 6
4 Sorting theory and more comparison sorting algorithms: Analysis of merge sort andQuicksort. Cormen Chapter 7
5 Worst case analysis of Quicksort Cormen Chapter 7
6 Sorting in linear time, lower bounds for sorting, counting sort, radix sort, bucket sort Cormen Chapter 8
7 Medians and order statistics. Finding median and rank in linear time, selectionalgorithm. Cormen Chapter 9
8 Midterm
9 Elementary data structures and runtime analysis of insertion, deletion and update Cormen Chapter 10
10 Hash tables and runtime analysis. Cormen Chapter 11
11 Binary search trees and Redblack trees Cormen Chapter 12 and 13
12 Btrees and Augmenting data structures Cormen Chapter 18
13 Amortized analysis Cormen Chapter 17
14 Binomial heaps and fibonacci heaps Cormen Chapter 19 and 20
15 Review
16 Review of the Semester  
Course Notes/Textbooks Introduction to Algorithms, 2/eThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ISBN: 9780262533058, MIT PressData Structures and Algorithm Analysis in C++, Mark Allen Weiss, Addision Wesley, Third Edition.
Suggested Readings/Materials Algorithm Design. Jon Kleinberg and Eva Tardos. 2006, Pearson Education, ISBN 0321372913

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
Laboratory / Application
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
6
30
Seminar / Workshop
Oral Exam
Midterm
1
30
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
60
Weighting of End-of-Semester Activities on the Final Grade
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: 16 x total hours)
16
Study Hours Out of Class
15
2
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
6
2
Seminar / Workshop
Oral Exam
Midterms
1
10
Final Exams
1
20
    Total
120

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute
2 Be able to design and analyze software at component, subsystem, and software architecture level X
3 Be able to develop software by coding, verifying, doing unit testing and debugging X
4 Be able to verify software by testing its behaviour, execution conditions, and expected results X
5 Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation
6 Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically
7 To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning
8 Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes
9 Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance X
10 To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software X
11 To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering X
12 Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering X
13

Be able to use a foreign language to follow related field publications and communicate with colleagues

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 

İzmir Ekonomi Üniversitesi | Sakarya Caddesi No:156, 35330 Balçova - İZMİR Tel: +90 232 279 25 25 | webmaster@ieu.edu.tr | YBS 2010